import SS_DarkWortex from 'code/Scripts/Abilities/ClassAbility/Worlock/SS_DarkWortex';
import ClassAbilityManagerBase from './base/ClassAbilityManagerBase';
import SS_DemoonIncrease from 'code/Scripts/Abilities/ClassAbility/Worlock/SS_DemoonIncrease';
import SS_FireRain from 'code/Scripts/Abilities/ClassAbility/Worlock/SS_FireRain';
import SS_HelFire from 'code/Scripts/Abilities/ClassAbility/Worlock/SS_HelFire';
import SS_MagicArmor from 'code/Scripts/Abilities/ClassAbility/Worlock/SS_MagicArmor';
import SS_Sacrifice from 'code/Scripts/Abilities/ClassAbility/Worlock/SS_Sacrifice';
import SS_SeekLife from 'code/Scripts/Abilities/ClassAbility/Worlock/SS_SeekLife';

declare global {
    var SSAbilities: WarlockAbilityManager;
}

export default class WarlockAbilityManager extends ClassAbilityManagerBase {
    SS_DarkWortex: SS_DarkWortex;
    SS_DemoonIncrease: SS_DemoonIncrease;
    SS_FireRain: SS_FireRain;
    SS_HelFire: SS_HelFire;
    SS_MagicArmor: SS_MagicArmor;
    SS_Sacrifice: SS_Sacrifice;
    SS_SeekLife: SS_SeekLife;
    constructor() {
        super();
        SSAbilities = this;

        this.SS_DarkWortex = new SS_DarkWortex();
        this._abilities.set(this.SS_DarkWortex.id, this.SS_DarkWortex);

        this.SS_DemoonIncrease = new SS_DemoonIncrease();
        this._abilities.set(this.SS_DemoonIncrease.id, this.SS_DemoonIncrease);
        this.SS_FireRain = new SS_FireRain();
        this._abilities.set(this.SS_FireRain.id, this.SS_FireRain);
        this.SS_HelFire = new SS_HelFire();
        this._abilities.set(this.SS_HelFire.id, this.SS_HelFire);
        this.SS_MagicArmor = new SS_MagicArmor();
        this._abilities.set(this.SS_MagicArmor.id, this.SS_MagicArmor);

        this.SS_Sacrifice = new SS_Sacrifice();
        this._abilities.set(this.SS_Sacrifice.id, this.SS_Sacrifice);
        this.SS_SeekLife = new SS_SeekLife();
        this._abilities.set(this.SS_SeekLife.id, this.SS_SeekLife);
    }
}
